home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / print / ServiceUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.6 KB  |  119 lines

  1. package javax.print;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dialog;
  5. import java.awt.Frame;
  6. import java.awt.GraphicsConfiguration;
  7. import java.awt.GraphicsDevice;
  8. import java.awt.GraphicsEnvironment;
  9. import java.awt.HeadlessException;
  10. import java.awt.Rectangle;
  11. import javax.print.attribute.Attribute;
  12. import javax.print.attribute.AttributeSet;
  13. import javax.print.attribute.PrintRequestAttributeSet;
  14. import javax.print.attribute.standard.Destination;
  15. import javax.print.attribute.standard.Fidelity;
  16. import sun.print.ServiceDialog;
  17. import sun.print.SunAlternateMedia;
  18.  
  19. public class ServiceUI {
  20.    public static PrintService printDialog(GraphicsConfiguration var0, int var1, int var2, PrintService[] var3, PrintService var4, DocFlavor var5, PrintRequestAttributeSet var6) throws HeadlessException {
  21.       int var7 = -1;
  22.       if (GraphicsEnvironment.isHeadless()) {
  23.          throw new HeadlessException();
  24.       } else if (var3 != null && var3.length != 0) {
  25.          if (var6 == null) {
  26.             throw new IllegalArgumentException("attributes must be non-null");
  27.          } else {
  28.             if (var4 != null) {
  29.                for(int var8 = 0; var8 < var3.length; ++var8) {
  30.                   if (var3[var8].equals(var4)) {
  31.                      var7 = var8;
  32.                      break;
  33.                   }
  34.                }
  35.  
  36.                if (var7 < 0) {
  37.                   throw new IllegalArgumentException("services must contain defaultService");
  38.                }
  39.             } else {
  40.                var7 = 0;
  41.             }
  42.  
  43.             Object var19 = null;
  44.             Rectangle var9 = var0 == null ? GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().getBounds() : var0.getBounds();
  45.             ServiceDialog var10;
  46.             if (var19 instanceof Frame) {
  47.                var10 = new ServiceDialog(var0, var1 + var9.x, var2 + var9.y, var3, var7, var5, var6, (Frame)var19);
  48.             } else {
  49.                var10 = new ServiceDialog(var0, var1 + var9.x, var2 + var9.y, var3, var7, var5, var6, (Dialog)var19);
  50.             }
  51.  
  52.             Rectangle var11 = var10.getBounds();
  53.             GraphicsEnvironment var12 = GraphicsEnvironment.getLocalGraphicsEnvironment();
  54.             GraphicsDevice[] var13 = var12.getScreenDevices();
  55.  
  56.             for(int var14 = 0; var14 < var13.length; ++var14) {
  57.                GraphicsDevice var15 = var13[var14];
  58.                GraphicsConfiguration[] var16 = var15.getConfigurations();
  59.  
  60.                for(int var17 = 0; var17 < var16.length; ++var17) {
  61.                   var9 = var9.union(var16[var17].getBounds());
  62.                }
  63.             }
  64.  
  65.             if (!var9.contains(var11)) {
  66.                var10.setLocationRelativeTo((Component)var19);
  67.             }
  68.  
  69.             var10.show();
  70.             if (var10.getStatus() == 1) {
  71.                PrintRequestAttributeSet var20 = var10.getAttributes();
  72.                Class var21 = Destination.class;
  73.                Class var22 = SunAlternateMedia.class;
  74.                Class var23 = Fidelity.class;
  75.                if (var6.containsKey(var21) && !var20.containsKey(var21)) {
  76.                   var6.remove(var21);
  77.                }
  78.  
  79.                if (var6.containsKey(var22) && !var20.containsKey(var22)) {
  80.                   var6.remove(var22);
  81.                }
  82.  
  83.                var6.addAll(var20);
  84.                Fidelity var18 = (Fidelity)var6.get(var23);
  85.                if (var18 != null && var18 == Fidelity.FIDELITY_TRUE) {
  86.                   removeUnsupportedAttributes(var10.getPrintService(), var5, var6);
  87.                }
  88.             }
  89.  
  90.             return var10.getPrintService();
  91.          }
  92.       } else {
  93.          throw new IllegalArgumentException("services must be non-null and non-empty");
  94.       }
  95.    }
  96.  
  97.    private static void removeUnsupportedAttributes(PrintService var0, DocFlavor var1, AttributeSet var2) {
  98.       AttributeSet var3 = var0.getUnsupportedAttributes(var1, var2);
  99.       if (var3 != null) {
  100.          Attribute[] var4 = var3.toArray();
  101.  
  102.          for(int var5 = 0; var5 < var4.length; ++var5) {
  103.             Class var6 = var4[var5].getCategory();
  104.             if (var0.isAttributeCategorySupported(var6)) {
  105.                Attribute var7 = (Attribute)var0.getDefaultAttributeValue(var6);
  106.                if (var7 != null) {
  107.                   var2.add(var7);
  108.                } else {
  109.                   var2.remove(var6);
  110.                }
  111.             } else {
  112.                var2.remove(var6);
  113.             }
  114.          }
  115.       }
  116.  
  117.    }
  118. }
  119.